Hardware-independent Proofs of Numerical Programs
نویسندگان
چکیده
On recent architectures, a numerical program may give different answers depending on the execution hardware and the compilation. Our goal is to formally prove properties about numerical programs that are true for multiple architectures and compilers. We propose an approach that states the rounding error of each floating-point computation whatever the environment. This approach is implemented in the Frama-C platform for static analysis of C code. Small case studies using this approach are entirely and automatically proved.
منابع مشابه
Hardware-Dependent Proofs of Numerical Programs
We present an approach for proving behavioral properties of numerical programs by analyzing their compiled assembly code. We focus on the issues and traps that may arise on oating-point computations. Direct analysis of the assembly code allows us to take into account architectureor compiler-dependent features such as the possible use of extended precision registers. The approach is implemented ...
متن کاملTaking architecture and compiler into account in formal proofs of numerical programs. (Preuves formelles de programmes numériques en prenant en compte l'architecture et le compilateur)
On some recently developed architectures, a numerical program may give different answersdepending on the execution hardware and the compilation. These discrepancies of the resultscome from the fact that each floating-point computation is calculated with different precisions.The goal of this thesis is to formally prove properties about numerical programs while takingthe architect...
متن کاملProving wire-wise correctness for Handel-C hardware compilation in HOL
The compilation of Handel-C programs into net-list descriptions of hardware components has been extensively used in commercial tools but never formally verified. In this paper we first introduce a variation of the existing semantic model for Handel-C compilation that is amenable for mechanical proofs and detailed enough to analyse properties about the generated hardware. We then use this model ...
متن کاملFormal veri cation of numerical programs: from C annotated programs to Coq proofs
Numerical programs may require a high level of guarantee. This can be achieved by applying formal methods, such as machinechecked proofs. But these tools handle mathematical theorems while we are interested in C code. To achieve this high level of con dence on C programs, we use a chain of tools: Frama-C, its Jessie plugin, Why and Coq. This requires the C program to be annotated: this means th...
متن کاملManipulation of Matrices Symbolically
Traditionally, matrix algebra in computer algebra systems is “implemented” in three ways: • numeric explicit computation in a special arithmetic domain: exact rational or integer, highprecision software floating-point, interval, or conventional hardware floating-point. • ‘symbolic’ explicit computation with polynomial or other expression entries, • (implicit) matrix computation with symbols def...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010